package br.com.threads;

public class Programa30 implements Runnable{
	String palavra;//variavel com modificador de acesso default
	private long tempo;
	public Programa30(String palavra, long tempo){
		this.palavra = palavra;
		this.tempo = tempo;
	}
	@Override
	public void run() {//metodo implementado da interface Runnable		
		try{
			for(int i =0; i<=10;i++){
				System.out.print(palavra + " ");
				//metodo sleep recebe como parametro o campo tempo da classe,
				//precisa estar dentro de um bloco try-catch porque lanca uma
				//InterruptedException
				Thread.sleep(tempo);
			}
		}catch(InterruptedException e){
			return;
		}
	}
	public static void main(String[] args) {
		Programa30 p = new Programa30("um", 1500);//neste momento esta no estado novo
		Programa30 p1 = new Programa30("dois",2000);//neste momento esta no estado novo
		/*new Thread(p).start();//neste momento esta no estado de execucao
		new Thread(p1).start();//neste momento esta no estado de execucao*/
		Thread t1 = new Thread(p);//estado novo
		Thread t2 = new Thread(p1);//estado novo
		t1.start();//cada thread so pode chamar o metodo start() uma vez
		t2.start();
	}
}
